package com.michale.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.michale.common.domain.operate.LoginInfoEntity;
import io.swagger.annotations.Api;

import java.util.List;

/**
 * @author Michale
 * @apiNote  系统访问记录 服务层
 */
@Api(value = "系统访问记录-服务类")
public interface LoginInfoService extends IService<LoginInfoEntity> {


    /**
     * 新增系统登录日志
     *
     * @param loginInfoEntity 访问日志对象
     */
    int insertLoginInfo(LoginInfoEntity loginInfoEntity);

    /**
     * 查询系统登录日志集合
     *
     * @param loginInfoEntityLog 访问日志对象
     * @return 登录记录集合
     */
    List<LoginInfoEntity> selectLoginInfoList(LoginInfoEntity loginInfoEntityLog);

    /**
     * 批量删除系统登录日志
     *
     * @param loginInfoIds 需要删除的登录日志ID
     * @return 结果
     */
    int deleteLoginInfoByIds(Long[] loginInfoIds);

    /**
     * 根据用户名删除登录日志
     *
     * @param userName 用户名
     */
    void deleteLoginInfoByUserName(String userName);

    /**
     * 清空登录日志记录
     *
     * @return 结果
     */
    void cleanLoginInfo();
}
